import logging,HTMLTestRunner_PY3,HTMLTestRunner_cn,HTMLTestRunner,yagmail
import os.path
import time
class Tools:
    def report(self):
        report = HTMLTestRunner_PY3.HTMLTestRunner(open('./weidu.html','wb'),title='维度电影测试报告',description='维度电影测试'
                                                   )
        return report
    def report2(self):
        report = HTMLTestRunner_cn.HTMLTestRunner(open('./weidu2.html', 'wb'), title='维度电影测试报告',
                                                   description='维度电影测试'
                                                   )
        return report
    def report3(self):
        report = HTMLTestRunner.HTMLTestRunner(open('./weidu3.html', 'wb'), title='维度电影测试报告',
                                                  description='维度电影测试'
                                                  )
        return report
    # def report4(self):
    #     report = XTestRunner(open('./weidu4.html', 'wb'), title='维度电影测试报告',
    #                                               description='维度电影测试'
    #                                               )
    #     return report
    def log_set(self):
        # filename 生成的日志的文件名字 filemode 文件模式 w+覆盖，a+追加  level日志级别严重程度 DEBUG最低级别（所有都显示） < INFO（不显示debug的）< WARNING < ERROR < CRITCAL
        # 设置收集怎么样子的日志
        # %(asctime)s    日志产生的时间 %(levelname)s日志的级别  %(message)s 日志的内容，具体信息
        log = logging.basicConfig(level=logging.DEBUG,
                                  format='%(asctime)s -> %(levelname)s ->  %(message)s ->%(filename)s ->%(msecs)d')
        return log

    def log(self):
        # filename 生成的日志的文件名字 filemode 文件模式 w+覆盖，a+追加  level日志级别严重程度 DEBUG最低级别（所有都显示） < INFO（不显示debug的）< WARNING < ERROR < CRITCAL
        # 设置收集怎么样子的日志
        # %(asctime)s    日志产生的时间 %(levelname)s日志的级别  %(message)s 日志的内容，具体信息
        log = logging.basicConfig(level=logging.DEBUG,
                                  format='%(asctime)s -> %(levelname)s ->  %(message)s ->%(filename)s ->%(msecs)d',
                                  filename='movie.log',
                                  filemode='a+')
        return log

    def log_set2(self):
        # filename 生成的日志的文件名字 filemode 文件模式 w+覆盖，a+追加  level日志级别严重程度 DEBUG最低级别（所有都显示） < INFO（不显示debug的）< WARNING < ERROR < CRITCAL
        # 设置收集怎么样子的日志
        # %(asctime)s    日志产生的时间 %(levelname)s日志的级别  %(message)s 日志的内容，具体信息
        logger = logging.getLogger()
        logger.setLevel(logging.INFO)
        ch = logging.StreamHandler()  # 输入日志到控制台
        ch.setLevel(logging.INFO)  # 输出控制台的日志等级是INFO
        # 定义日志handLer的输出格式formatter
        fmt = logging.Formatter('%(asctime)s -> %(levelname)s ->  %(message)s ->%(filename)s ->%(lineno)d')
        ch.setFormatter(fmt)
        logger.addHandler(ch)
        print('你好好')
        logging.info('2210A -2210A -2210A -2210A -2210A')

    def log_set3(self):
        logger = logging.getLogger()
        logger.setLevel(logging.INFO)
        currtime = time.strftime("%Y - %m - %d")
        log_py_path = os.path.abspath(__file__)
        log_dir_path = os.path.split(log_py_path)[0]
        print('okkkkkkkkkkkkkkkkkkkkkkkkkkk', os.path.split(log_py_path))
        print(log_dir_path)
        pro_path = os.path.dirname(log_dir_path)
        print('pro_path', pro_path)
        Log_path = pro_path + './'
        log_name = Log_path + currtime + '.log'
        fh = logging.FileHandler(log_name, mode='w')
        fh.setLevel(logging.INFO)
        fmt = logging.Formatter('%(asctime)s -> %(levelname)s ->  %(message)s ->%(filename)s ->%(lineno)d')
        fh.setFormatter(fmt)
        logger.addHandler(fh)
        logger.info('This is a log for 2210A. That level is INFO!')

    def Emil(self):
        mail = yagmail.SMTP(user='3315608326@qq.com',password='uisbaxtgenqcchei',host='smtp.qq.com',port='465')
        mail.send(to='3315608326@qq.com',subject='1',contents='1')
        mail.close()
